home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / tm / tmerror.h < prev    next >
C/C++ Source or Header  |  1990-11-06  |  2KB  |  84 lines

  1. /* 
  2.    Copyright (C) 1990 C van Reewijk, email: dutentb.uucp!reeuwijk
  3.  
  4. This file is part of GLASS.
  5.  
  6. GLASS is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 1, or (at your option)
  9. any later version.
  10.  
  11. GLASS is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GLASS; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /* File: tmerror.h
  21.    Description of exported objects of tmerror.c
  22.  */
  23.  
  24. extern int errno;
  25.  
  26. #define ERRARGLEN 80       /* max length of argument arrays below */
  27. extern char errpos[];      /* describes position of the error */
  28. extern char errarg[];      /* contains an argument to the error message */
  29.  
  30. extern void error();       /* general error handler */
  31. extern void sys_error();   /* system error handler (using errno) */
  32. extern void docrash();     /* internal error handler */
  33.  
  34. extern void line_error();  /* error handler that supplies line number */
  35.  
  36. extern void init_error();  /* init routine */
  37. extern void stat_error();  /* give statistics */
  38.  
  39. extern void errcheck();    /* check on errors */
  40.  
  41. /* error codes for tm class of errors. */
  42. typedef enum en_tmerrcode {
  43.     ERREND,        /* guard: end of error table */
  44.     SYNTAXERR,
  45.     CRASH,
  46.     ERRDET,
  47.     NOROOM,
  48.     NONAME,
  49.     BADTAG,
  50.     NOEXPR,
  51.     BUFOVER,
  52.     NOCLOSEBRAC,
  53.     VARNOTFOUND,
  54.     BADDOTCOM,
  55.     UNEXPECTDOT,
  56.     UNEXPECTEOF,
  57.     UNEXPECTEOL,
  58.     NOSUCHFN,
  59.     TOOMANYARG,
  60.     MISSINGPAR,
  61.     BADNUMBER,
  62.     BADTOK,
  63.     NOSUCHTYPE,
  64.     NOSUCHCONS,
  65.     NOSUCHELM,
  66.     EXTRATERM,
  67.     BADPAR,
  68.     NOUNDERSCORE,
  69.     BADCONSNM,
  70.     BADTYPENM,
  71.     NOTACONS,
  72.     NOTATUPLE,
  73.     BADPADDING,
  74.     BADRE,
  75.     BADPARNO,
  76.     NOSEP,
  77.     BADEXPR,
  78.     DOUBLEFIELD,
  79.     DOUBLECONS,
  80.     LASTTMERROR        /* the one without the comma */
  81. } tmerrcode;
  82.  
  83. #define crash(n) docrash(__FILE__, __LINE__,n)
  84.